So welcome to the Monday evening session.
We are currently discussing the problem of rigid registration.
Let me switch to a different color here.
So we talk about rigid registration using point features.
Correspondences of points or point features.
And in the 2D case we have seen a very nice way to approach this problem
and to end up with a linear method that allows us to estimate the rotation.
And we have used one important property of complex numbers
that tells us that complex numbers and their multiplication characterize rotations and scalings.
So what we did basically is we have used the points that are considered as complex numbers.
So the x coordinate is understood as the real part, the y coordinate is understood as the imaginary part.
And we have here the point features and here the point features.
And by just looking at the rotation we know that P i1 plus or let's say K iP K2 is equal to rotation 1 plus i rotation imaginary part times Q K1 plus iQ K2.
Plus T1 plus iT2.
And this is known to be linear in R and T.
So we ended up with a linear solution for the problem in R and T where R is a complex number and R includes rotation and scaling.
We can enforce the scaling by requiring something like this has to be true such that the norm of R is 1 then we have a pure rotation.
So that's well understood and now we have last week considered the 3D situation using quaternions.
And quaternion is an extension of the complex numbers in very simple terms.
Extension of complex numbers saying that our quaternion is W plus i times x plus j times y plus k times z.
And this can also be written as a vector 4D vector or as a constant and a 3D vector.
So it depends on the way how you want to express things.
And we have seen that there are different properties of i, j and k.
These three are also imaginary units saying that their square is minus 1 and then we have defined rules how to combine i and j and j and i and i and k and k and i and so on.
At the end of the day we were able to show that rotations in 3D can be expressed in terms of quaternions.
So rotations in 3D using quaternions.
So we have considered points P and Q in R3 and we set these points here correspond to each other.
So we have N points where k runs from 1 to N.
So these are the 3D points that we are considering.
Let me use the vector notation here to make things more clear.
And then we said we can rewrite Pk in terms of a quaternion by just saying this is 0Pk.
So the constant is set to 0 and the same holds for Qk is 0Qk.
And now we were able to show last time that rotations can be expressed in terms of a product of quaternions.
So let's look at the unit quaternion R.
And we say Pk is R times Qk times conjugate complex or conjugate the conjugate quaternion of this.
And this holds for all the k's.
So we can express a rotation in terms of such a quadratic form where we multiply from the left the quaternion associated with Qk
and we multiply with the conjugate rotation quaternion from the right and we get the final point Pk in quaternion notation.
Okay, that's the idea. So this expresses here a rotation.
And we just have seen the basic idea and I did not do the proof that you end up with a rotated point but that is something that can be shown.
How was the rotation quaternion defined if we have an axis angle representation?
That means we have a vector U and an angle theta.
How was this defined? Johannes, do you remember that?
Yeah, you knew that I am going to ask you.
You remember that?
It's the cosine of theta half and sine of theta half. That's this here that we have done last week.
So we have here the cosine of theta half and U times sine theta half and depending on whether you use a row or column notation you have to use U transposed or not.
Okay, so once we have given a rotation represented in angle axis we can write down the quaternion right away and compute the rotated points.
On the other hand if we have corresponding points and we know that these are transformed into each other by rotations we can compute the rotation quaternion and right away looking at the rotation quaternion we get cosine theta half and sine of theta half and we can compute the angle and we can also compute the orientation.
That means the rotation axis. So let's look at an example in more detail.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:44:48 Min
Aufnahmedatum
2010-01-25
Hochgeladen am
2011-04-11 13:53:27
Sprache
de-DE